home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 56 / 056.d81 / meal planner (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1989-01-01  |  7.4 KB  |  288 lines

  1. 10 poke56,56:clr
  2. 20 dimen$(41),ve$(21),br$(21),de$(21):print"":c=54272
  3. 30 gosub2350:print""
  4. 40 cl$="                    "
  5. 50 sp$="                                      "
  6. 60 x$=chr$(13):poke53272,31
  7. 70 e$="    ***                           ***"
  8. 80 f$="    *********************************"
  9. 90 forn=1to7:reada$:day$(n)=a$:next:poke53281,0
  10. 100 data"monday","tuesday","wednesday","thursday"
  11. 105 data"friday","saturday","sunday"
  12. 110 fori=1to7:readsp(i):next
  13. 120 data20,10,7,7,20,10,7
  14. 130 goto730
  15. 140 poke214,10:print:print" enter nothing to"
  16. 150 print" return to the menu"
  17. 160 poke214,6:print
  18. 170 return
  19. 180 k$=""
  20. 190 poke646,int(rnd(0)*15+1):print"{CBM-P}";
  21. 200 geta$:ifa$=""then190
  22. 210 if(a$=chr$(20))andlen(k$)thenk$=left$(k$,len(k$)-1):printchr$(20);:goto190
  23. 220 ifa$=chr$(13)thenprint" ":return
  24. 225 iflen(k$)>14then190
  25. 230 ifa$=" "then250
  26. 240 ifa$<"a"ora$>"z"then190
  27. 250 print""a$;:k$=k$+a$
  28. 260 goto190
  29. 270 print"":forq=1to20:printcl$:next:printcl$"":return
  30. 280 goto730
  31. 290 h=1
  32. 300 poke214,h+2:print:printtab(18)"{SHIFT-@}";
  33. 310 geta$:ifa$<>""and a$<>""anda$<>chr$(13)then310
  34. 320 print" ";
  35. 330 ifa$=""thenh=h-1:ifh<1thenh=20
  36. 340 ifa$=""thenh=h+1:ifh>20thenh=1
  37. 350 ifa$=chr$(13)thenreturn
  38. 360 goto300
  39. 370  
  40. 380 ----- make a menu -----
  41. 390  
  42. 400 fornn=1to7
  43. 410 x=1:y=20
  44. 420 print"             Meal Planner  "
  45. 430 printtab(4)""da$(nn)
  46. 440 poke214,4:print:print" Entree:"
  47. 450 forr=xtoy:printtab(20)en$(r):next
  48. 460 gosub290
  49. 470 ifh<>1then500
  50. 480 ifx=1thenx=21:y=40:goto420
  51. 490 ifx=21thenx=1:y=20:h=1:goto420
  52. 500 poke214,6:print
  53. 510 e$(nn)=en$(h-20*(x=21))
  54. 520 printtab(3)e$(nn):gosub270
  55. 530 poke214,8:print:print" Vegetable:"
  56. 540 forr=1to20:printtab(20)ve$(r):next
  57. 550 gosub290
  58. 560 poke214,10:print:v$(nn)=ve$(h)
  59. 570 printtab(3)v$(nn):gosub270
  60. 580 poke214,12:print:print" Starch:"
  61. 590 forr=1to20:printtab(20)br$(r):next
  62. 600 gosub290
  63. 610 poke214,14:print:b$(nn)=br$(h)
  64. 620 printtab(3)b$(nn):gosub270
  65. 630 poke214,16:print:print" Dessert:"
  66. 640 forr=1to20:printtab(20)de$(r):next
  67. 650 gosub290
  68. 660 poke214,18:print:d$(nn)=de$(h)
  69. 670 printtab(3)d$(nn):gosub270
  70. 680 poke214,20:print:print"  Okay? (y/n)"
  71. 690 geta$:ifa$<>"y"anda$<>"n"then690
  72. 700 ifa$="n"then410
  73. 710 ifflthenfl=0:return
  74. 720 nextnn
  75. 730 print"":printf$:print"    ***                           ***
  76.  
  77. 740 close4:print"    ***   loadstar meal planner   ***
  78.  
  79. 750 printe$:print"    ***   Make a menu             ***"
  80. 760 printe$:print"    ***   Review menu in memory   ***"
  81. 770 printe$:print"    ***   Print menu in memory    ***"
  82. 780 printe$:print"    ***   Save menu in memory     ***"
  83. 790 printe$:print"    ***   Load menu from disk     ***"
  84. 800 printe$:print"    ***   Edit menu in memory     ***"
  85. 810 printe$:print"    ***   Replace an item         ***"
  86. 820 printe$:print"    ***   Return to LOADSTAR      ***"
  87. 830 printe$:print"    *** use crsr keys then return ***"
  88. 840 printe$:printf$
  89. 850 k=1
  90. 860 poke214,k*2+2:print:printtab(8)"{SHIFT-@}";
  91. 870 geta$:ifa$<>""anda$<>""anda$<>chr$(13)then870
  92. 880 print" ";
  93. 890 ifa$=""thenk=k-1:ifk<1thenk=8
  94. 900 ifa$=""thenk=k+1:ifk>8thenk=1
  95. 910 ifa$=chr$(13)then930
  96. 920 goto860
  97. 930 onkgoto400,1270,970,1540,1700,1390,1920,1810
  98. 940  
  99. 950  ----- print a menu -----
  100. 960  
  101. 970 open15,4,15:close15:ifst=0then1020
  102. 980 print"":poke214,9:print:printtab(10)"turn your printer on"
  103. 990 printtab(10)"Press space to continue"
  104. 1000 geta$:ifa$<>" "then1000
  105. 1010 goto730
  106. 1020 open4,4
  107. 1030 print#4,:print#4,sp$w$x$
  108. 1040 fori=1to4:print#4,left$(sp$,sp(i))da$(i);:next:print#4,x$:close4
  109. 1045 open4,4,7
  110. 1050 print#4,"    Entree:      ";
  111. 1060 fori=1to3:print#4,e$(i)left$(sp$,(16-len(e$(i))));:next:print#4,e$(4)x$
  112. 1070 print#4,"    Vegetable:   ";
  113. 1080 fori=1to3:print#4,v$(i)left$(sp$,(16-len(v$(i))));:next:print#4,v$(4)x$
  114. 1090 print#4,"    Starch:      ";
  115. 1100 fori=1to3:print#4,b$(i)left$(sp$,(16-len(b$(i))));:next:print#4,b$(4)x$
  116. 1110 print#4,"    Dessert:     ";
  117. 1120 fori=1to3:print#4,d$(i)left$(sp$,(16-len(d$(i))));:next:print#4,d$(4)x$x$x$
  118. 1125 close4:open4,4
  119. 1130 fori=5to7:print#4,left$(sp$,sp(i))da$(i);:next:print#4,x$
  120. 1135 close4:open4,4,7
  121. 1140 print#4,"    Entree:      ";
  122. 1150 fori=5to7:print#4,e$(i)left$(sp$,(16-len(e$(i))));:next:print#4,x$
  123. 1160 print#4,"    Vegetable:   ";
  124. 1170 fori=5to7:print#4,v$(i)left$(sp$,(16-len(v$(i))));:next:print#4,x$
  125. 1180 print#4,"    Starch:      ";
  126. 1190 fori=5to7:print#4,b$(i)left$(sp$,(16-len(b$(i))));:next:print#4,x$
  127. 1200 print#4,"    Dessert:     ";
  128. 1210 fori=5to7:print#4,d$(i)left$(sp$,(16-len(d$(i))));:next:print#4,x$
  129. 1220 print#4,:close4
  130. 1230 goto730
  131. 1240 rem
  132. 1250 rem ----- review -----
  133. 1260 rem
  134. 1270 print"";:forr=1to7step2:print"   "da$(r):print""spc(21)da$(r+1)
  135. 1280 print"  "e$(r):print""spc(20)e$(r+1)
  136. 1290 print"  "v$(r):print""spc(20)v$(r+1)
  137. 1300 print"  "b$(r):print""spc(20)b$(r+1)
  138. 1310 print"  "d$(r):print""spc(20)d$(r+1)
  139. 1320 next
  140. 1330 poke214,22:print:printtab(8)"Press space to continue"
  141. 1340 geta$:ifa$<>" "then1340
  142. 1350 goto730
  143. 1360  
  144. 1370  ----- edit a menu -----
  145. 1380  
  146. 1390 print"            edit which day?"
  147. 1400 forr=1to7:printtab(18)""da$(r):print:next:printtab(18)"menu"
  148. 1410 k=1
  149. 1420 poke214,k*2+1:print:printtab(16)"{SHIFT-@}";
  150. 1430 geta$:ifa$<>""anda$<>""anda$<>chr$(13)then1430
  151. 1440 print" ";
  152. 1450 ifa$=""thenk=k-1:ifk<1thenk=8
  153. 1460 ifa$=""thenk=k+1:ifk>8thenk=1
  154. 1470 ifa$=chr$(13)then1490
  155. 1480 goto1420
  156. 1490 ifk=8then730
  157. 1500 nn=k:fl=1:gosub410:goto730
  158. 1510  
  159. 1520  ----- save a menu -----
  160. 1530  
  161. 1540 print"        save week number:":h=1
  162. 1550 print"":forr=1to19:printtab(20)r:next:printtab(20)"exit"
  163. 1560 gosub290:ifh=20then730
  164. 1570 w$="week"+str$(h)
  165. 1580 open15,8,15,"r0:"+w$+"="+w$:input#15,er:close15:ifer<>63then1640
  166. 1590 poke214,5:print:print" That week is already"
  167. 1600 print" on the disk.  Do you"
  168. 1610 print" want to replace? (y/n)"
  169. 1620 geta$:ifa$<>"y"anda$<>"n"then1620
  170. 1630 ifa$="n"then1540
  171. 1640 open3,8,3,"@0:"+w$+",s,w"
  172. 1650 forn=1to7:print#3,e$(n):print#3,v$(n):print#3,b$(n):print#3,d$(n):next
  173. 1660 close3:goto730
  174. 1670  
  175. 1680  ----- load a menu -----
  176. 1690  
  177. 1700 print"        load week number:":h=1
  178. 1710 print"":forr=1to19:printtab(20)r:next:printtab(20)"exit"
  179. 1720 gosub290:ifh=20then730
  180. 1730 w$="week"+str$(h)
  181. 1740 open15,8,15,"r0:"+w$+"="+w$:input#15,er:close15:ifer<>63then1850
  182. 1750 open3,8,3,"0:"+w$+",s,r"
  183. 1760 forn=1to7:input#3,e$(n):input#3,v$(n):input#3,b$(n):input#3,d$(n):next
  184. 1770 close3:goto730
  185. 1780  
  186. 1790  ----- return to loadstar -----
  187. 1800  
  188. 1810 print"":poke53272,21
  189. 1820 open15,8,15:print#15,"r0:hello connect=hello connect":input#15,er:close15
  190. 1830 ifer<>63thenend
  191. 1840 load"hello connect",8,1
  192. 1850 print"":poke214,9:print:print" That week is not on the disk."
  193. 1860 print"   load another or back to menu (l/m)"
  194. 1870 geta$:ifa$<>"l"anda$<>"m"then1870
  195. 1880 ifa$="l"then1700
  196. 1890 goto730
  197. 1900  
  198. 1910  ----- replace an item -----
  199. 1915  
  200. 1920 print""tab(11)"replace an item"
  201. 1925 print"":printtab(18)"entree"
  202. 1926 printtab(18)"vegetable"
  203. 1927 printtab(18)"starch"
  204. 1928 printtab(18)"dessert"
  205. 1929 printtab(18)"menu"
  206. 1930 k=1
  207. 1931 poke214,k*2+2:print:printtab(16)"{SHIFT-@}";
  208. 1932 geta$:ifa$<>""anda$<>""anda$<>chr$(13)then1932
  209. 1933 print" ";
  210. 1934 ifa$=""thenk=k-1:ifk<1thenk=5
  211. 1935 ifa$=""thenk=k+1:ifk>5thenk=1
  212. 1936 ifa$=chr$(13)then1938
  213. 1937 goto1931
  214. 1938 onkgoto1939,2025,2085,2145,2210
  215. 1939 print""tab(10)"replace an entree"
  216. 1940 x=1:y=20
  217. 1945 gosub270:print"":forr=xtoy:printtab(20)en$(r):next
  218. 1950 gosub290
  219. 1960 ifh<>1then1990
  220. 1970 ifx=1thenx=21:y=40:goto1945
  221. 1980 ifx=21thenx=1:y=20:h=1:goto1945
  222. 1990 gosub140
  223. 2000 print"  Replace with:"
  224. 2010 print"  ";:gosub180:ifk$=""then2210
  225. 2020 en$(h-20*(x=21))=k$:goto1920
  226. 2025 print""tab(10)"replace a vegetable"
  227. 2030 print"":forr=1to20:printtab(20)ve$(r):next
  228. 2040 gosub290
  229. 2050 gosub140
  230. 2060 print"  Replace with:"
  231. 2070 print"  ";:gosub180:ifk$=""then2210
  232. 2080 ve$(h)=k$:goto1920
  233. 2085 print""tab(10)"replace a starch"
  234. 2090 print"":forr=1to20:printtab(20)br$(r):next
  235. 2100 gosub290
  236. 2110 gosub140
  237. 2120 print"  Replace with:"
  238. 2130 print"  ";:gosub180:ifk$=""then2210
  239. 2140 br$(h)=k$:goto1920
  240. 2145 print""tab(10)"replace a dessert"
  241. 2150 print"":forr=1to20:printtab(20)de$(r):next
  242. 2160 gosub290
  243. 2170 gosub140
  244. 2180 print"  Replace with:"
  245. 2190 print"  ";:gosub180:ifk$=""then2210
  246. 2200 de$(h)=k$:goto1920
  247. 2210 print""
  248. 2220 print"Do you want to save the changes? (y/n)"
  249. 2230 geta$:ifa$<>"y"anda$<>"n"then2230
  250. 2240 ifa$="n"then730
  251. 2250 open3,8,3,"@0:mealdata,p,w"
  252. 2260 fori=1to40:print#3,en$(i):next
  253. 2270 fori=1to20:print#3,ve$(i):next
  254. 2280 fori=1to20:print#3,br$(i):next
  255. 2290 fori=1to20:print#3,de$(i):next
  256. 2300 close3
  257. 2310 goto730
  258. 2320  
  259. 2330  ----- title screen -----
  260. 2340  
  261. 2350 print"":poke53280,.:poke53281,.:poke53272,23
  262. 2360 print"           LOADSTAR presents"
  263. 2370 print
  264. 2380 print"       {CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}"
  265. 2390 print"                                "
  266. 2400 print"         M E A L  P L A N N E R "
  267. 2410 print"                                "
  268. 2420 print"       {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}"
  269. 2440 print"          by William Shockley"
  270. 2450 print"            Copyright 1988"
  271. 2460 print"      Please wait while data loads"
  272. 2467 gosub63000
  273. 2470 sys57812"mealfont",8,0:poke780,0:poke781,0:poke782,56:sys65493
  274. 2480 open3,8,3,"mealdata,p,r"
  275. 2490 forn=1to40:input#3,en$(n):next
  276. 2500 forn=1to20:input#3,ve$(n):next
  277. 2510 forn=1to20:input#3,br$(n):next
  278. 2520 forn=1to20:input#3,de$(n):next
  279. 2530 close3
  280. 2540 return
  281. 63000 poke214,15:print
  282. 63010 print" {CBM-A}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-S}"
  283. 63020 print" {SHIFT--}            MEAL PLANNER           {SHIFT--}"
  284. 63030 print" {SHIFT--}   by William Shockley  (c)1988    {SHIFT--}"
  285. 63040 print" {SHIFT--}     Published on LOADSTAR #56     {SHIFT--}"
  286. 63050 print" {SHIFT--}   Subscriptions 1-800-831-2694    {SHIFT--}
  287.  
  288. 63060 print" {SHIFT--}  Changing this notice is illegal. {SHIFT--}"
  289. 63070 print" {CBM-Z}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-X}"
  290. 63080 return
  291.